/**
 * 
 */
package br.com.skynix.tcmc.model.financeiro;

import java.math.BigDecimal;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import org.hibernate.annotations.ForeignKey;

import br.com.skynix.tcmc.base.model.EntidadeAuditavel;
import br.com.skynix.tcmc.model.rh.Empresa;

/**
 * @author davi
 * 
 */
@Entity
@Table(name = "tb_banco")
public class Banco extends EntidadeAuditavel {
	@NotNull
	@ManyToOne
	@JoinColumn(name = "id_empresa_fk", nullable = false,
			referencedColumnName = "id")
	@ForeignKey(name = "FK001_banco")
	private Empresa empresa;

	@NotNull
	@Size(max = 150)
	@Column(nullable = false, length = 150)
	private String nome;

	@Size(max = 10)
	@Column(nullable = true, length = 10)
	private String codigo;

	@Size(max = 20)
	@Column(name = "numero_agencia", nullable = true, length = 20)
	private String numeroAgencia;

	@Size(max = 20)
	@Column(name = "numero_conta", nullable = true, length = 20)
	private String numeroConta;

	@Column(nullable = true, precision = 15, scale = 2)
	private BigDecimal saldo;

	/**
	 * @return the empresa
	 */
	public Empresa getEmpresa() {
		return empresa;
	}

	/**
	 * @param empresa the empresa to set
	 */
	public void setEmpresa(Empresa empresa) {
		this.empresa = empresa;
	}

	/**
	 * @return the nome
	 */
	public String getNome() {
		return nome;
	}

	/**
	 * @param nome the nome to set
	 */
	public void setNome(String nome) {
		this.nome = nome;
	}

	/**
	 * @return the codigo
	 */
	public String getCodigo() {
		return codigo;
	}

	/**
	 * @param codigo the codigo to set
	 */
	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}

	/**
	 * @return the numeroAgencia
	 */
	public String getNumeroAgencia() {
		return numeroAgencia;
	}

	/**
	 * @param numeroAgencia the numeroAgencia to set
	 */
	public void setNumeroAgencia(String numeroAgencia) {
		this.numeroAgencia = numeroAgencia;
	}

	/**
	 * @return the numeroConta
	 */
	public String getNumeroConta() {
		return numeroConta;
	}

	/**
	 * @param numeroConta the numeroConta to set
	 */
	public void setNumeroConta(String numeroConta) {
		this.numeroConta = numeroConta;
	}

	/**
	 * @return the saldo
	 */
	public BigDecimal getSaldo() {
		return saldo;
	}

	/**
	 * @param saldo the saldo to set
	 */
	public void setSaldo(BigDecimal saldo) {
		this.saldo = saldo;
	}
}
